Disable PL011 UART before configuring it
authorJuan Castillo <[email protected]>
Thu, 26 Nov 2015 14:52:15 +0000 (14:52 +0000)
committerJuan Castillo <[email protected]>
Thu, 21 Jan 2016 17:27:47 +0000 (17:27 +0000)
commit9400b40ea4c71153a63c1f1cdaa416d45a325ec5
tree2246537b57b322e106a2e4cc618e0958c513dad6
parentf9410b47c3ea36c9c231760a85efbbb7d6e575a7
Disable PL011 UART before configuring it

The PL011 TRM (ARM DDI 0183G) specifies that the UART must be
disabled before any of the control registers are programmed. The
PL011 driver included in TF does not disable the UART, so the
initialization in BL2 and BL31 is violating this requirement
(and potentially in BL1 if the UART is enabled after reset).

This patch modifies the initialization function in the PL011
console driver to disable the UART before programming the
control registers.

Register clobber list and documentation updated.

Fixes ARM-software/tf-issues#300

Change-Id: I839b2d681d48b03f821ac53663a6a78e8b30a1a1
docs/porting-guide.md
drivers/arm/pl011/pl011_console.S
drivers/console/console.S
include/drivers/arm/pl011.h
plat/arm/common/aarch64/arm_helpers.S
plat/mediatek/mt8173/aarch64/plat_helpers.S
plat/nvidia/tegra/common/aarch64/tegra_helpers.S